package org.smarthings.things.management.rest.resources.properties;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import org.smarthings.things.commons.rest.BasicResource;
import org.smarthings.things.management.metadata.ThingDataType;

@XmlType(name = "thingPropertyMetadata")
@XmlRootElement(name = "thingPropertyMetadata")
public class ThingPropertyMetadataResource extends BasicResource {

	// private List<Element> metadata;

	private String desctiption;
	private String unit;
	private String min;
	private String max;
	private String access;

	private ThingDataType type;

	@XmlElement(name = "description", required = false)
	public String getDesctiption() {
		return desctiption;
	}

	public void setDesctiption(String desctiption) {
		this.desctiption = desctiption;
	}

	@XmlElement(name = "type", required = false)
	public ThingDataType getType() {
		return type;
	}

	public void setType(ThingDataType type) {
		this.type = type;
	}

	@XmlElement(name = "unit", required = false)
	public String getUnit() {
		return unit;
	}

	public void setUnit(String unit) {
		this.unit = unit;
	}

	@XmlElement(name = "min", required = false)
	public String getMin() {
		return min;
	}

	public void setMin(String min) {
		this.min = min;
	}

	@XmlElement(name = "max", required = false)
	public String getMax() {
		return max;
	}

	public void setMax(String max) {
		this.max = max;
	}

	@XmlElement(name = "access", required = false)
	public String getAccess() {
		return access;
	}

	public void setAccess(String access) {
		this.access = access;
	}

	// @XmlAnyElement(lax = true)
	// @XmlElementWrapper(name = "metadata", required = true)
	// public List<Element> getMetadata() {
	// return metadata;
	// }
	//
	// public void setMetadata(List<Element> metadata) {
	// this.metadata = metadata;
	// }

}